home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Die Speccy' 97
/
Die Speccy' 97.iso
/
amiga_system
/
the_aminet
/
dev
/
asm
/
trashed10.lzh
/
trashEd1.0
/
trashEd.patch.readme
< prev
next >
Wrap
Text File
|
1995-10-06
|
8KB
|
216 lines
TrashEd (Trash'm-One2.0 patch by Jesper Skov)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Disclaimer
~~~~~~~~~~
The author cannot be held liable for the suitability or accuracy of this
manual and/or the program(s) it describes. Any damage directly or indirectly
caused by the use or misuse of this manual and/or the program it describes is
the sole responsibility of the user her/him self.
This package *only* contains the patch file. The original Trash'm-One2.0
executable you'll have to find yourself. *Do not* ask me for a copy! I will
not distribute the trashEd executable as I'm not sure about the copyright
status of Trash'm-One2.0 (IMHO both Trash'm-One and TFA's ASM1 are so far
from the original Asm-One (which I BTW have an original copy of!) that there
shouldn't be a problem).
You may find that this text is a bit... um, "colored" by my use of FrexxEd.
If you think that could be a problem, stop reading now! I made this patch for
personal use but was encouraged to release it. If you have not seen trashEd
in "action" with FrexxEd or another editor (which would be with an interface
not made by me), don't complaint about the usability of trashEd... In that
case I simply don't care!
If you can't get things working by following the instructions in this file,
please don't get mad. It's quite hard describing this process... If you have
any questions you're welcome to send me an Email!
Copyright
~~~~~~~~~
Not much to copyright but anyway: This patch is ⌐ copyright 1995 Jesper Skov.
You may use it for free, but I'd appreciate if you'd consider sending me a
postcard with some flattering text :) You could also send me a SF paperback
(or hardcover ;) book, but please check the title with me by Email if you
choose to be this heroic. I hate doublets. Thanks.
Overview
~~~~~~~~
If you are using the Asm-One/Trash'm-One assembler on a daily basis, you
might want to use this patch which will enable you to use FrexxEd (or any
other editor with ARexx support) for editing the sources. What this boils
down to is an improved editor environment without loosing all the
monitor/control/debugging options in Trash'm-One.
There is one catch: you might be a bit annoyed with the slower editor
entry/exit times. However, I've been using the system for some time now and
it is not a problem at all! (A4000/25MHz'o3o/8MB FAST)
This package consists of several elements:
o A Trash'm-One2.0 patch; will change a few things in Trash'm-One2.0,
"trashing" it into trashEd :)
o activateTrashEd; offers communication from external applications to
trashEd. The (simple) interface is described below.
o trashToFront; will pop trashEd to front.
o getTrashValues; is used to extract information from the running trashEd.
o popTrashEd.rexx; should be located in "env:arexx/". Is called by trashEd
to activate the external editor.
o TrashEdMode.FPL; Example script for the editor FrexxEd (programmed in
FPL, a language very much like C. I don't even think you have to know
C to be able to read it: it's very simple... and commented :P ).
Installing
~~~~~~~~~~
The first thing you need to do is patching the Trash'm-One2.0 executable.
Follow the steps below;
0) Even though you don't use FrexxEd, you should install it to check out what
is possible with trashEd (the unregistered FrexxEd will do just fine!).
If you don't do that, you'll have to do some editing and Arexx programming
for your editor before you can see trashEd working!
1) Copy the Trash'm-One2.0 executable to "RAM:in". The file has to be 127880
bytes long, and there will be made a CRC check. If the file does not have
the right length, or the CRC differs, there will be no patching done!
2) run the patchTrashEd command.
3) If there is a file called "out" in RAM: with length 127880, the patching
succeded. There are no error messages, but if you did as described in step
1/2 there would only be a problem if you don't have the correct
Trash'm-One2.0 file.
4) Rename this file to something like "trashEd" and put it on your (hard)disk.
5) Put the files "activateTrashEd;trashToFront;getTrashValues" in "c:".
You might want to make them resident in your startup so as to reduce
editor entry/exit times.
6) If not already there; make a directory called "ARexx" in "envarc:". Put
the file "popTrashEd.rexx" there. This file is made for FrexxEd. If you
use another editor you need to change the file!!!!!
7) Correct the preferences: Start Trash'm-One and make sure that
- Marks are *not* saved.
- (Assembling will be done with "All Errors". See below!)
After saving the preference file, you should add something like
"\f\2000\" at the bottom of the preference file. This will allocate 2000KB
of FAST memory at startup and enter the server mode (try starting trashEd
without this line and you'll see the point).
8) Copy TrashEdMode.FPL to "FPL:". Make FrexxEd execute ("ExecuteFile()")
this file at startup (you could add it to "user.fpl").
That should be it.
Using trashEd
~~~~~~~~~~~~~
(This section is a bit messy. Sorry. :)
Start trashEd from WorkBench. If it entered server mode (should say
"Awaiting command..") it should be ready to accept commands via the
activateTrash tool:
FILENAME - Specify a file to load.
ASSEMBLE - Start assembling immediately after loading the file.
ADDRESS - Will make trashEd write two addresses (binary) to "T:TrashAdd".
These can be used with the getTrashValues tool.
QUIT - Make trashEd quit.
When trashEd is not in server mode, the only difference from Trash'm-One is
the ESC key. Pressing it will invoke the external editor (by executing the
"env:arexx/popTrashEd.rexx" script) and make trashEd enter server mode. You
may still use the internal editor by pressing CTRL-ESC.
When assembling a log will be made in "T:trashLog". This can be used to
identify erroneous lines by the editor! (see the FrexxEd example)
If you have enabled "All Errors", the external editor will be invoked at the
end of assembling. If the flag is not enabled, trashEd will remain activated.
That should be enough info to get a simple interface running;
o Make the editor execute "activateTrash" when e.g. ESC is pressed.
o Make the popTrashEd.rexx script activate the editor.
To make the interface more dynamic I added the possibility of reading the
status of trashEd. This may be done with the "getTrashValues" tool. It
requires the addresses supplied by the "activateTrash" tool. Example:
activateTrash address (Will get the needed addresses)
getTrashValues (Will put the status in the variable
"trashStat")
getenv trashstat (Print the status string)
You only need to find the addresses once (e.g. when trashEd is started) as
the address does not change during operation.
The status string has the following format:
<status><assembly% (0-200)>
where status may be:
a - Assembling (the only state where the assembly% has any meaning).
f - Assembling failed (trashEd in server mode).
o - Assembling OK.
u - User has control.
w - Waiting for external command (i.e. trashEd is in server mode).
In the FrexxEd interface I don't pop trashEd until the assembly has succeded.
If it didn't (i.e. status = f) I parse the log file and present the user with
an error message. While assembling, I use the a<a%> status to make a progress
bar. Check it out!
Known bugs/problems
~~~~~~~~~~~~~~~~~~~
If trashEd is started from CLI it will *not* work! (use WB start)
If you are unlucky, trashEd will hang the first time it is activated with an
ASSEMBLE command. This is (apparently) because some of the initialization in
trashEd is skipped in this startup method. It could be fixed if I had more
space.
(FrexxEd notes: If you always enter trashEd the *first* time with shift-ESC,
you circumvent the problem!)
Don't use all the "RUNE/PROMAX/TFA/etc" commands in trashEd as they will most
likely make a mess of your screen.
Author address
~~~~~~~~~~~~~~
Jesper Skov
Sallingsundvej 47 st th
DK-9220 Aalborg ╪
Denmark
Email: jskov@iesd.auc.dk
WWW: http://www.iesd.auc.dk/~jskov
PS: Let me stress; DON'T send me letters/Email, asking for a copy of
Trash'm-One2.0! It's of no use!